Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
update-section
Advanced tools
Updates a section inside a file with newer content while removing the old content.
Updates a section inside a file with newer content while removing the old content.
var updateSection = require('update-section');
var original = [
'# Some Project'
, ''
, 'Does a bunch of things'
, ''
, 'START -- GENERATED GOODNESS'
, 'this was painstakingly generated'
, 'as was this'
, 'END -- GENERATED GOODNESS' , ''
, ''
, '## The End'
, ''
, 'Til next time'
].join('\n');
var update = [
'START -- GENERATED GOODNESS'
, 'this was painstakingly re-generated'
, 'and we added another line'
, 'here'
, 'END -- GENERATED GOODNESS'
].join('\n');
function matchesStart(line) {
return (/START -- GENERATED GOODNESS/).test(line);
}
function matchesEnd(line) {
return (/END -- GENERATED GOODNESS/).test(line);
}
var updated = updateSection(original, update, matchesStart, matchesEnd);
console.log(updated);
# Some Project
Does a bunch of things
START -- GENERATED GOODNESS
this was painstakingly re-generated
and we added another line
here
END -- GENERATED GOODNESS
## The End
Til next time
npm install update-section
/**
* Updates the content with the given section.
*
* If previous section is found it is replaced.
* Otherwise the section is appended to the end of the content.
*
* @name updateSection
* @function
* @param {String} content that may or may not include a previously added section
* @param {String} section the section to update
* @param {Function} matchesStart when called with a line needs to return true iff it is the section start line
* @param {Function} matchesEnd when called with a line needs to return true iff it is the section end line
* @return {String} content with updated section
*/
MIT
Updates the content with the given section.
If previous section is found it is replaced. Otherwise the section is appended to the end of the content.
Name | Type | Description |
---|---|---|
content | String | that may or may not include a previously added section |
section | String | the section to update |
matchesStart | function | when called with a line needs to return true iff it is the section start line |
matchesEnd | function | when called with a line needs to return true iff it is the section end line |
top | boolean | forces the section to be added at the top of the content if a replacement couldn't be made |
content with updated section
Finds the start and end lines that match the given criteria. Used by update-section itself.
Use it if you need to get information about where the matching content is located.
Name | Type | Description |
---|---|---|
lines | Array.<string> | the lines in which to look for matches |
matchesStart | function | when called with a line needs to return true iff it is the section start line |
matchesEnd | function | when called with a line needs to return true iff it is the section end line |
with the following properties: hasStart, hasEnd, startIdx, endIdx
generated with docme
FAQs
Updates a section inside a file with newer content while removing the old content.
The npm package update-section receives a total of 94,374 weekly downloads. As such, update-section popularity was classified as popular.
We found that update-section demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.